package com.ruoyi.project.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;

/**
 * 项目对象 project
 * 
 * @author zhaogang
 * @date 2024-07-12
 */
public class Project extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目主键 */
    private Long projectId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    @NotBlank(message = "项目名称不能为空")
    @Length(min=0,max = 15 ,message = "长度不能大于15个字符")
    private String projectName;

    /** 计划进度 */
    @Excel(name = "计划进度")
    private BigDecimal projectPlan;

    /** 实际进度 */
    @Excel(name = "实际进度")
    private BigDecimal projectActual;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 开业时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date projectOpeningtime;

    /** 竣工时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "竣工时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date projectCompletetime;

    /** 目标成本 */
    @Excel(name = "目标成本")
    private BigDecimal projectTargetCost;

    /** 已付成本 */
    @Excel(name = "已付成本")
    private BigDecimal projectPaidCost;

    /** logo */
    @Excel(name = "logo")
    private String projectLogo;

    /** 效果图 */
    @Excel(name = "效果图")
    private String projectImage;
    /** 风险数量 */
    private Integer riskCount;

    public Integer getRiskCount() {
        return riskCount;
    }

    public void setRiskCount(Integer riskCount) {
        this.riskCount = riskCount;
    }

    public void setProjectId(Long projectId)
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setProjectPlan(BigDecimal projectPlan) 
    {
        this.projectPlan = projectPlan;
    }

    public BigDecimal getProjectPlan() 
    {
        return projectPlan;
    }
    public void setProjectActual(BigDecimal projectActual) 
    {
        this.projectActual = projectActual;
    }

    public BigDecimal getProjectActual() 
    {
        return projectActual;
    }
    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setProjectOpeningtime(Date projectOpeningtime) 
    {
        this.projectOpeningtime = projectOpeningtime;
    }

    public Date getProjectOpeningtime() 
    {
        return projectOpeningtime;
    }
    public void setProjectCompletetime(Date projectCompletetime) 
    {
        this.projectCompletetime = projectCompletetime;
    }

    public Date getProjectCompletetime() 
    {
        return projectCompletetime;
    }
    public void setProjectTargetCost(BigDecimal projectTargetCost) 
    {
        this.projectTargetCost = projectTargetCost;
    }

    public BigDecimal getProjectTargetCost() 
    {
        return projectTargetCost;
    }
    public void setProjectPaidCost(BigDecimal projectPaidCost) 
    {
        this.projectPaidCost = projectPaidCost;
    }

    public BigDecimal getProjectPaidCost() 
    {
        return projectPaidCost;
    }
    public void setProjectLogo(String projectLogo) 
    {
        this.projectLogo = projectLogo;
    }

    public String getProjectLogo() 
    {
        return projectLogo;
    }
    public void setProjectImage(String projectImage) 
    {
        this.projectImage = projectImage;
    }

    public String getProjectImage() 
    {
        return projectImage;
    }

    @Override
    public String toString() {
        return "Project{" +
                "projectId=" + projectId +
                ", projectName='" + projectName + '\'' +
                ", projectPlan=" + projectPlan +
                ", projectActual=" + projectActual +
                ", startDate=" + startDate +
                ", projectOpeningtime=" + projectOpeningtime +
                ", projectCompletetime=" + projectCompletetime +
                ", projectTargetCost=" + projectTargetCost +
                ", projectPaidCost=" + projectPaidCost +
                ", projectLogo='" + projectLogo + '\'' +
                ", projectImage='" + projectImage + '\'' +
                ", riskCount=" + riskCount +
                '}';
    }
}
